package com.example.kotlin01.dao

import androidx.room.Dao
import androidx.room.Delete
import androidx.room.Insert
import androidx.room.Query
import com.example.kotlin01.model.User

/**
 * dao层
 */
@Dao
interface UserDao {
    // 因为这个方法被标记为了 suspend，Room 将会在保证主线程安全的前提下使用自己的调度器来运行这个查询
    @Query("SELECT * FROM user")
    suspend fun queryUser(): List<User>

    // 因为这个方法被标记为了 suspend，Room 将会在保证主线程安全的前提下使用自己的调度器来运行这个查询
    @Insert
    suspend fun addUser(user: User)

    //因为这个方法被标记为了 suspend，Room 将会在保证主线程安全的前提下使用自己的调度器来运行这个查询
    @Delete
    suspend fun deleteUser(user: User)


}